In semiconductor integrated circuits in which an error correction code (ECC) circuit executing error detection and correction of data read from a static random access memory (SRAM) is provided outside a memory macro, there is a method of executing both a test for an ECC circuit and a test for a memory.